/* 
 * File:   Light.h
 * Author: brady
 *
 * Created on February 8, 2011, 11:19 AM
 */


#include "Ray.h"
#include <stdlib.h>
using namespace cs5721;
#ifndef LIGHT_H
#define	LIGHT_H


class Light {
public:
    Light();
    Light(Vector3D origin, Vector3D color);
    virtual ~Light();
    const Vector3D& GetOrigin(){return Origin;}
    void SetOrigin(Vector3D origin){Origin = origin;}
    const Vector3D& GetColor(){return Color;}
    void SetColor(Vector3D color){Color = color;}
    void SetSize(double r){this->Size = r;}
    bool TestIntersect(Ray& ray);
    Vector3D GetRandomPoint(Ray& sampleRay, int spp);
private:
    Vector3D Color;
    int* randMap;
    Vector3D Origin;
    double Size;
};

#endif	/* LIGHT_H */

